package com.me.chat.service.user;

import com.me.chat.pojo.user.UserInfo;
import com.me.chat.pojo.user.qo.UserInfoQO;
import com.me.chat.pojo.user.vo.UserDetailInfoVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Author VULCAN
 * @create 2020/2/17 20:07
 */
public interface UserService {

    /**
     * 获取当前登录的用户信息
     * @return
     */
    UserInfo getUserInfo();

    /**
     * 获取指定用户的用户信息 缓存获取与缓存设置
     * @param userId
     * @return
     */
    UserInfo getUserInfo(String userId);


    /**
     * 获取指定用户的用户信息 缓存获取但是不设置缓存
     * @param userId
     * @return
     */
    UserInfo getUserInfoNoSetCatch(String userId);

    /**
     * 根据用户id得到该用户的详细信息
     * @param userId
     * @return
     */
    UserDetailInfoVO getUserDetailInfo(String userId);

    /**
     * 用户头像更新
     * @param avatar
     * @param userId
     */
    void updateUserAvatarByUserId(String avatar, String userId);

    /**
     * 根据userName 与 showName 来搜索用户 带分页参数
     * @param userInfoQO
     * @return
     */
    List<UserInfo> searchUser(UserInfoQO userInfoQO);
}
